package com.blitscreen.render 
{
	import flash.display.BitmapData;	
	
	/**
	 * A <code>RenderPass</code> object represent any kind 
	 * of operations performed on a bitmap. The process of 
	 * a render pass is realized in the <code>render</code>
	 * method defined in this interface.
	 * <p></p>
	 * A <code>RenderPass</code> is aggregated by
	 * a <code>RenderQueue</code> object which is in charge
	 * of organizing render and managing the bitmap object.
	 * <p>
	 * The pass will receive the bitmap on which it will
	 * operate. There is no additional information except
	 * those contained in the <code>BitmapData</code>
	 * object.
	 * </p> 
	 * @author 	Cédric Néhémie
	 * @see		RenderQueue
	 */
	public interface RenderPass 
	{
		/**
		 * Called by the <code>RenderQueue</code> object
		 * when its own <code>render</code> method is called.
		 * <p>
		 * All operation is done in this call, with no more
		 * informations that those contained in the 
		 * <code>BitmapData</code> object.
		 * </p>
		 * @param screen <code>BitmapData</code> onto which the
		 * 				 render pass operates.
		 */
		function render ( screen : BitmapData ) : void;
	}
}
